package com.museum.controller.APi;


import com.alibaba.fastjson.JSONObject;
import com.museum.base.BaseResponse;
import com.museum.entity.DO.DepLog;
import com.museum.entity.DO.InputApply;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;

/*
 * @description 库房日志
 * @author ahm
 * @since 2021/3/13
 * */
@Api(tags = "入库申请管理")
public interface InputApplyAPI {
    /**
     * @param
     * @Desciption 提交入库申请
     * @return
     */
    @ApiOperation(value = "提交入库申请")
    @PostMapping("/addInputApply")
    BaseResponse<JSONObject> addInputApply(@RequestBody InputApply inputApply, HttpServletRequest request);

    @ApiOperation(value = "入库申请查询")
    @PostMapping("/getAllApplyByPage")
    BaseResponse<JSONObject> getAllApplyByPage(long current, long limit, @RequestBody InputApply inputApply);

    @ApiOperation(value = "入库申请查看")
    @PostMapping("/getApplyById/{id}")
    BaseResponse<JSONObject> getApplyById(@PathVariable("id") Integer id);

    @ApiOperation(value = "入库审核查询")
    @PostMapping("/selectApplyCheckByPage")
    BaseResponse<JSONObject> selectApplyCheckByPage(long current, long limit, @RequestBody InputApply inputApply);

    @ApiOperation(value = "入库审核同意")
    @PostMapping("/agreeCheckById/{id}")
    BaseResponse<JSONObject> agreeCheckById(@PathVariable("id") Integer id);

    @ApiOperation(value = "入库审核驳回")
    @PostMapping("/disagreeCheckById/{id}")
    BaseResponse<JSONObject> disagreeCheckById(@PathVariable("id") Integer id);

    @ApiOperation(value = "归档")
    @PostMapping("/fileById/{id}")
    BaseResponse<JSONObject> fileById(@PathVariable("id") Integer id);

    @ApiOperation(value = "入库处理查询")
    @PostMapping("/selectInputDealByPage")
    BaseResponse<JSONObject> selectInputDealByPage(long current, long limit, @RequestBody InputApply inputApply);

    @ApiOperation(value = "入库归档查询")
    @PostMapping("/selectFileByPage")
    BaseResponse<JSONObject> selectFileByPage(long current, long limit, @RequestBody InputApply inputApply);

}
